home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - DOS Part 2 / DOS047.dsk / SCREEN REVERSE.bas < prev    next >
BASIC Source File  |  2012-02-16  |  3KB  |  63 lines

  1. 0  HOME : GOSUB 10000: GOSUB 1000: HOME :N = 50: GOTO 20
  2. 5  FOR TT = 1 TO N: NEXT : RETURN 
  3. 10  POKE 6,LC: POKE 7,RC: POKE 8,TL: POKE 9,BL: RETURN 
  4. 20 LC = 0:RC = 39:TL = 0:BL = 23: GOSUB 10: CALL 768
  5. 30 LC = 11:RC = 28:TL = 11:BL = 12: GOSUB 10: CALL 768: GOSUB 5
  6. 40 LC = LC -1:RC = RC +1:TL = TL -1:BL = BL +1: GOSUB 10: CALL 768: GOSUB 5
  7. 50  IF LC >0  THEN 40
  8. 60 LC = LC +1:RC = RC -1:TL = TL +1:BL = BL -1: GOSUB 10: CALL 768: GOSUB 5
  9. 70  IF LC <11  THEN 60
  10. 80  DEF  FN R(X) =  INT( RND(1) *X)
  11. 85  FOR I = 1 TO 25
  12. 90 LC =  FN R(39):RC = LC + FN R(39 -LC):TL =  FN R(23):BL =  FN R(23 -TL):X = RC:Y = BL
  13. 100  GOSUB 10: CALL 768: GOSUB 5
  14. 110 LC = X + FN R(39 -X):RC = LC + FN R(39 -LC):TL =  FN R(23):BL =  FN R(23 -TL)
  15. 120  GOSUB 10: CALL 768: GOSUB 5
  16. 130 LC =  FN R(39):RC =  FN R(39 -LC) +LC:TL = Y + FN R(23 -Y):BL = TL + FN R(23 -TL)
  17. 150 LC = X1 + FN R(39 -X1):RC = LC + FN R(39 -LC):TL = Y1 + FN R(23 -Y1):BL = TL + FN R(23 -TL)
  18. 160  GOSUB 10: CALL 768: GOSUB 5
  19. 170  NEXT :N = 100
  20. 173  FOR T = 0 TO 4
  21. 175  HOME :M = 1 + FN R(5): FOR J = 1 TO 5
  22. 180 LC =  FN R(39):RC = LC + FN R(39 -LC)
  23. 190 TL =  FN R(23):BL = TL + FN R(23 -TL)
  24. 200  GOSUB 10: CALL 768: GOSUB 5
  25. 210 LC = LC -M: IF LC <0  THEN LC = 0
  26. 220 RC = RC +M: IF RC >39  THEN RC = 39
  27. 230 TL = TL -M: IF TL <0  THEN TL = 0
  28. 240 BL = BL +M: IF BL >23  THEN BL = 23
  29. 250  IF LC >0  OR RC <39  OR TL >0  OR BL <23  THEN 200
  30. 255 M =  FN R(5) +1
  31. 260  NEXT J,T
  32. 265  HOME :N = 0
  33. 269  DEF  FN MOD(X) = X - INT(X/24) *24
  34. 270  FOR K = 0 TO 12
  35. 280  FOR T = 0 TO 38
  36. 285 TL =  FN MOD(T +K):BL = 23 -TL
  37. 290 LC = T:RC = T +1: GOSUB 10: CALL 768:LC = 38 -T:RC = 39 -T: GOSUB 10: CALL 768
  38. 300  GOSUB 5: NEXT 
  39. 305 LC = 0:RC = 39:TL = 0:BL = 23: GOSUB 10: CALL 768: GOSUB 5
  40. 310  NEXT 
  41. 320 N = 50: GOTO 20
  42. 1000  HOME : VTAB 10: HTAB 13: INVERSE : PRINT "SCREEN REVERSE": NORMAL 
  43. 1010  VTAB 12: HTAB 19: PRINT "BY"
  44. 1020  VTAB 14: HTAB 14: PRINT "GARRY KIZIAK"
  45. 1030 N = 3000: GOSUB 5
  46. 1040  HOME : VTAB 5: HTAB 5: PRINT "THIS PROGRAM INCORPORATES A MACHINE"
  47. 1050  PRINT "LANGUAGE ROUTINE THAT WILL ENABLE YOU"
  48. 1060  PRINT "TO REVERSE ANY PORTION OF THE SCREEN"
  49. 1070  PRINT "INSTANTANEOUSLY. "
  50. 1080 N = 5000: GOSUB 5
  51. 1090  VTAB 10: HTAB 5: PRINT "YOU MAY REVERSE THE ENTIRE SCREEN"
  52. 1095 N = 3000
  53. 1100  GOSUB 5:LC = 0:RC = 39:TL = 0:BL = 23: GOSUB 10: CALL 768: GOSUB 5
  54. 1105  PRINT : INVERSE : PRINT "...AND BACK AGAIN": NORMAL : GOSUB 5: CALL 768
  55. 1110  GOSUB 5
  56. 1120  VTAB 15: HTAB 20: PRINT "OR... YOU ": HTAB 20: PRINT "MAY REVERSE": HTAB 20: PRINT "JUST A PORTION"
  57. 1130  NORMAL :LC = 18:RC = 33:TL = 13:BL = 17: GOSUB 10: GOSUB 5: CALL 768
  58. 1140 N = 5000: GOSUB 5
  59. 1150  HOME : VTAB 12: HTAB 5: PRINT "THE PROGRAM THAT FOLLOWS USES THIS"
  60. 1160  PRINT " ROUTINE TO PRODUCE RANDOM ART": GOSUB 5: RETURN 
  61. 10000  FOR K = 768 TO 810: READ L: POKE K,L: NEXT 
  62. 10010  DATA  166,9,138,32,193,251,164,7,177,40,201,160,144,4,41,63,176,12,201,64,176,10,105,128,201,160,176,2,105,64,145,40,136,196,6,16,227,202,228,8,16,216,96 
  63. 10020  RETURN